/**
 * 客户订货系统，属于杭州升鲜宝科技有限公司，由升鲜宝团队开发
 * 主要特点：不同的客户登录，显示不同的商品，不同的商品价格
 * 内置了简易的进销存系统，方便升鲜宝的客户的客户进行简易的出库、入库、盘点、报损、库存查询
 * 升鲜宝供应商管理系统，全套系统授权源代码使用。方便有一定开发能力的公司与团队进行快速的供应链管理系统开发与应用
 * 联系方式：微信 sxbscm2012  整套源代码0加密，方便二次开发  
 * 联系人： 余东升
 * 手机号码： 19186059021
 * 
 */
<template>
	<view class="initRadio" @click="handleClick">
		<view class="radio" :style="initStyle" :class="props.modelValue && 'active'">
			<view class="ball" :style="ballStyle"></view>
		</view>
		<text class="text">
			<slot></slot>
		</text>
	</view>

</template>

<script setup>
	import {
		computed
	} from 'vue'
	const props = defineProps({
		modelValue: {
			type: Boolean,
			default: false
		},
		name: {
			type: String,
			default: ''
		},
		size: {
			type: String,
			default: '11'
		}
	})
	const initStyle = computed(() => {
		return {
			width: props.size + 'px',
			height: props.size + 'px',
		}
	})
	const ballStyle = computed(() => {
		const _num = Math.floor((Number(props.size) / 2))
		return {
			width: _num + 'px',
			height: _num + 'px',
		}
	})
	const emits = defineEmits(['click', 'update:modelValue', 'change'])
	const handleClick = () => {
		emits('click')
		emits('update:modelValue', !props.modelValue)
		emits('change', props.name)
	}
</script>

<style lang="scss">
	.initRadio {
		display: flex;
		align-items: center;

		.text {
			color: #A0A0A0;
			font-size: 10px;
			margin-left: 6px;
		}
	}

	.radio {
		border: 1px solid #CDCDCD;
		box-sizing: border-box;
		position: relative;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;

		.ball {
			border-radius: 50%;
			background-color: transparent;
		}

		&.active {
			border-color: #FD4D00;

			.ball {
				background-color: #FD4D00;
			}
		}
	}
</style>